package io.airlift.airship.cli;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class RealInteractiveUser
implements InteractiveUser
{
@Override
public boolean ask(String question, boolean defaultValue)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
while (true) {
System.out.print(question + (defaultValue ? " [Y/n] " : " [y/N] "));
String line = null;
try {
line = reader.readLine();
}
catch (IOException ignored) {
}
if (line == null) {
throw new IllegalArgumentException("Error reading from standard in");
}
line = line.trim().toLowerCase();
if (line.isEmpty()) {
return defaultValue;
}
if ("y".equalsIgnoreCase(line) || "yes".equalsIgnoreCase(line)) {
return true;
}
if ("n".equalsIgnoreCase(line) || "no".equalsIgnoreCase(line)) {
return false;
}
}
}
finally {
System.out.println();
}
}
}